$(function() {
    // 所有的 ajax 请求发送前,都会被这个方法拦截到
    // options 表示我们发送请求的配置对象
    $.ajaxPrefilter(function(options) {
        // console.log(options.url);

        // 1. 统一给有权限的接口,添加 headers 请求头
        if (options.url.indexOf('/admin') == 0) {
            options.headers = {
                Authorization: localStorage.getItem('token') || '',
            };
        }

        // 2. 统一修改请求的 URL 路径
        options.url = 'http://localhost:8888' + options.url;
        // console.log(options.url);

        // 3. 统一添加请求完成的回调函数 (用户访问权限处理)
        // ajax 请求成功完成(不论请求成功或失败)的回调函数
        options.complete = function(res) {
            // console.log(res);

            // res.responseJSON 是服务器响应的真实数据
            // 判断是否认证失败
            if (
                res.responseJSON.status === 401 &&
                res.responseJSON.message == '身份认证失败！'
            ) {
                // 清除 token
                localStorage.removeItem('token');

                // 跳转到登录页
                window.parent.location.href = '/login.html';
            }
        };
    });
});